package com.ytjj.qmyx.admin.service;

import com.ytjj.common.api.CommonPage;
import com.ytjj.qmyx.admin.model.request.*;
import com.ytjj.qmyx.admin.model.response.ProductActivityModelResponse;
import com.ytjj.qmyx.admin.model.response.StockRemindResponse;
import com.ytjj.qmyx.mall.model.ProductActivity;
import com.ytjj.qmyx.mall.model.ProductActivityImg;
import com.ytjj.qmyx.mall.model.ProductActivityMatching;
import com.ytjj.qmyx.mall.model.ProductActivitySpec;

import java.math.BigDecimal;

/**
 * 商品活动管理
 */
public interface ProductActivityService {

    CommonPage<ProductActivityModelResponse> activityList(ActivityRequest activityRequest);

    int updateActivity(ProductActivity productActivity);

    int updateActivityStatus(Integer id);

    CommonPage<ProductActivitySpec> getActivitySpecsById(ActivitySpectRequest activitySpectRequest);

    int updateActivitySpec(ProductActivitySpec productActivitySpec);

    CommonPage<ProductActivityImg> getActivityImgsById(ActivityImgRequest activityImgRequest);

    int addActivityImg(ProductActivityImgRequest productActivityImgRequest);

    int updateActivityImg(ProductActivityImg productActivityImg);

    void deleteActivityImg(Integer id);

    ProductActivityMatching getProductActivityMatching(Integer productId);

    int updateProductActivityMatching(ProductActivityMatching productActivityMatching);

    int updateStockBatch(Integer stock);

    int updatePriceStock(Integer productId, BigDecimal price, Integer stock);

    int updateStock(Integer productId, Integer stockSum);

    Integer delProductActivity(Integer id);

    CommonPage<StockRemindResponse> getStockInfo(StockRemindRequest stockRemindRequest);

    Integer syncSpecInfo();
}
